package com.ruoyi.resume.domain.model.resumeProfile;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.sql.Timestamp;
import java.time.LocalDate;
import java.time.LocalDateTime;

@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "基本信息实体类")
public class BasicInfo {

    @ApiModelProperty(value = "简历ID", example = "1")
    private Integer id;

    @ApiModelProperty(value = "用户ID", example = "101")
    private Integer userId;

    @ApiModelProperty(value = "姓名", example = "张三")
    private String name;

    @ApiModelProperty(value = "性别", example = "M", allowableValues = "M, F, O")
    private String gender;

    @ApiModelProperty(value = "出生日期", example = "1995-05-01")
    private LocalDate birthdate;

    @ApiModelProperty(value = "联系电话", example = "13800138000")
    private String phone;

    @ApiModelProperty(value = "邮箱", example = "zhangsan@example.com")
    private String email;

    @ApiModelProperty(value = "学校名称", example = "清华大学")
    private String school;

    @ApiModelProperty(value = "民族", example = "汉族")
    private String nation;

    @ApiModelProperty(value = "学历", example = "本科")
    private String degree;

    @ApiModelProperty(value = "居住地", example = "北京市海淀区")
    private String residence;

    @ApiModelProperty(value = "政治面貌", example = "中共党员")
    private String politicalStatus;

    @ApiModelProperty(value = "年龄", example = "25")
    private Integer age;

    @ApiModelProperty(value = "技能列表", example = "Java, Spring, MySQL")
    private String skills;

    @ApiModelProperty(value = "是否外部", example = "1", allowableValues = "0, 1")
    private Integer isOuter;

    @ApiModelProperty(value = "候选人状态", example = "1", allowableValues = "1, 2, 3")
    private Integer status;

    @ApiModelProperty(value = "创建时间", example = "2025-03-20T08:00:00")
    private LocalDateTime createdAt;

    @ApiModelProperty(value = "更新时间", example = "2025-03-20T09:00:00")
    private LocalDateTime updatedAt;
}
